/**
 * 
 */
package com.lifeware.research.endo.models.dao;

import java.util.List;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;

import com.lifeware.research.endo.models.entities.Immunoistochimica;

/**
 * <p>
 * </p>
 * 
 * @author  Riccardo Cardin, (C) 2012 Lifeware
 * @version 1.0
 */
@Repository
public class ImmunoistochimicaH8Dao extends AbsHibernateDao implements
		IImmunoistochimicaDao {

	private static final String FIND_ALL_IMMUNIISTOCHIMICA = 
			"findAllImmuniIstochimica";
	
	@Autowired
	public ImmunoistochimicaH8Dao(SessionFactory sessionFactory) {
		
		super(sessionFactory);
	}

	/* (non-Javadoc)
	 * @see com.lifeware.research.endo.models.dao.IImmunoistochimicaDao#findAllImmunoIstochimica()
	 */
	@Override
	public List<Immunoistochimica> findAllImmunoIstochimica() {
		
		/* Recupero una sessione */
		Session session = this.sessionFactory.openSession();
		
		/* Recupero le informazioni da DB */
		@SuppressWarnings("unchecked")
		List<Immunoistochimica> listaIC = 
				session.getNamedQuery(FIND_ALL_IMMUNIISTOCHIMICA).list();
		
		/* Chiudo la sessione */
		session.close();
		
		return listaIC;
	}

	@Override
	public Immunoistochimica findById(Integer id) {
		
		/* Recupero una sessione */
		Session session = this.sessionFactory.openSession();
		
		/* Recupero l'oggetto */
		Immunoistochimica immunoistochimica = 
				(Immunoistochimica) session.load(Immunoistochimica.class, id);
		
		/* Chiudo la sessione */
		session.close();
		
		return immunoistochimica;
	}

}
